perm filename XPART.DON[UP,DOC]2 blob sn#354913 filedate 1978-05-15 generic text, type T, neo UTF8
XPART processes an  XGP file to  determine which characters  it uses in  each
font, and sets up partial-font-loading switches  in the file.  This lets  the
spooler make better use of the 64K available in the font compiler, such  that
documents which use several large fonts may be successfully spooled.

XPART also accepts a list of pages (in the same form as that accepted by  the
XSPOOL command, e.g. "(10:20,30,50:*)"), in  which case only those pages  are
retained.  Partial font-loading is based on the characters used in the  pages
selected.  Pages need not be in ascending order, though of course it is  more
efficient if they are.  Note that, if only a few pages are to be spooled from
a large XGP file, processing  the file with XPART  to get the selected  pages
will result in a more accurate (higher) priority in the spooler's queue.

XPART takes input in  the form {output←}input{(pages)}.   If no extension  is
given on the input file name, both  null and .XGP are tried (in that  order).
The default for output is  to use the same name  as for input, but on  device
dsk and the local (alias)  ppn.  If no device or  ppn is specified on  input,
this of course overwrites the input file.  This is not detrimental unless the
page-selection feature is being  used, in which case  pages not selected  are
lost "forever".  (XPART will require confirmation before allowing this.)  The
command line may follow the Run  command (R XPART;FOO←BAR), if no command  is
given the program will  prompt for one.  (There  may eventually be a  monitor
command such that one can say XPART FOO←BAR.)

The file may already  have partial-font-loading switches in  it; if so,  they
will be discarded  (except, of course,  for the font  names).  It is  assumed
that the file is in /XGP format with no E directory, that is, that the  first
page contains  XGP switches  (possibly including  a /USETI  switch).   (These
assumptions are to some degree checked by the program.)

XPART refuses to create a partial-loading  command for font #0; this font  is
always loaded in full.  This is because, if font #0 is partially loaded,  the
title page and/or headings (if requested) may be missing some characters.

Some sample commands:

	R XPART; FOO←BAR

Process BAR, creating output file FOO.  If no file BAR exists, look for
BAR.XGP; if found, use it and output to FOO.XGP.

	R XPART; FOO.←BAR

Same as the first example, but output is to FOO, not FOO.XGP, regardless of
whether the input is from BAR or BAR.XGP.

	R XPART; BAR.BAZ[1,ZOT]

Process BAR.BAZ[1,ZOT], producing BAR.BAZ on the local directory.

	R XPART; BIGGIE

Process BIGGIE (or BIGGIE.XGP); the new file with the partial font-loading
switches will replace the original file.  (If an error of any sort is
detected, the original file will not be replaced.)

	R XPART; BIGGIE(40:*)

Same as the preceding example, except only pages 40 through to the end of the
file are retained.  XPART will require confirmation before doing this, since
pages 1 to 39 of BIGGIE will be lost in the process.

	R XPART; ←BIGGIE(40:*)

Same as the preceding example, except that confirmation will not be required
(the "←" indicates an explicit, albeit default, output file name).

The next example is rather complex; it demonstrates some of the defaults
available in the command parser.  It is assumed that the command is given by
someone logged in as [FOO,BAR] and aliased to [BAZ,ZOT].

	R XPART; TEMP[1, ← UDP:PAPER.ALL[PAP (100:109,1,1)

Process UDP:PAPER.ALL[PAP,ZOT], selecting pages 100-109 and two copies of page
1 (the first actual page of output; the XGP switches at the front of the file
are not considered to be a "page") and putting them in DSK:TEMP.ALL[1,BAR].
The comma in the first ppn indicates that BAR (the login prog) should be used
instead of ZOT (the alias prog).

Comments and questions should be sent to DON.